export function generateCombinations(list, num) {
  const result = [];

  // 辅助回溯函数
  function backtrack(start, temp) {
    // 如果组合的长度达到 num，添加到结果中
    if (temp.length === num) {
      result.push([...temp]);
      return;
    }

    // 遍历列表，从当前索引开始
    for (let i = start; i < list.length; i++) {
      temp.push(list[i]);  // 添加当前元素到组合
      backtrack(i + 1, temp);  // 递归，确保元素不重复
      temp.pop();  // 回溯，移除最后一个元素
    }
  }

  // 调用回溯函数开始生成组合
  backtrack(0, []);
  return result;
}

